Appendix A: Installation Guide
This appendix contains the complete, step-by-step guide installation reference for Product Finder.

Requirements
●	Bun: v1.3.11+
●	Docker: v29.3.1+
●	Node.js: v18.20.8+

Installing the Prerequisites
1.	Install Bun, restart terminal once completed and check the version
	●	Command line for install: curl -fsSL https://bun.sh/install | bash
	●	Command line for version: bun --version

2.	Download and install Docker Desktop from https://www.docker.com/products/docker-desktop. 

3.	Once Docker is installed, verify that both Docker and Docker compose are available:
	●	Command line: docker --version
	●	Command line: docker compose --version

4.	Install Node.js. It is recommended to use nvm (Node Version Manager) to install and manage Node.js:
	●	Command line: nvm install 18
	●	Command line: nvm use 18
	●	Command line: node –-version

Installation Steps

Note: There are two terminals which will be used. Keep Terminal 1 open indefinitely for Docker and Server processes. 

1.	Terminal 1: Clone the Repository
	●	Command line: git clone https://github.com/jorge-j1m/productfinder.git
	●	Command line (navigate to the project root): cd productfinder 

2.	Terminal 1: Install Node Dependencies
	●	Command line: npm install

3.	Terminal 1: Start services to launch server, admin panel, website and database. Verify all services start without error. 
	●	Command line: docker compose --profile test up --build

4.	Terminal 2: Seed the Administrator Account. When prompted enter an email address and the default password will be: password123. You can create additional employee accounts from the admin panel after logging in.
	●	Command line (navigate to the project root): cd productfinder 
	●	Command line:  bun run ./apps/server/src/scripts/create_test_employee.ts

5.	Seed Brands and Stores
	●	Command line: bun run ./apps/server/src/scripts/seed_brand_stores.ts

6.	Seed Store Products
	●	Command line: bun run ./packages/database/src/scripts/seed_products.ts

7.	Seed Store Brands Inventory
	●	Command line: bun run ./packages/database/src/scripts/seed_inventory.ts

Verification
Once all steps are complete, verify the installation by confirming the websites while maintaining Terminal 1 open and running:
	●	Admin Panel Website: Open http://localhost:3000/login?callbackUrl=%2F
○	Log in with the email created in Step 4 and password123.
	●	Customer Website: Open http://localhost:3001/
○	Confirm products and inventory are displayed

